
package br.com.ws.modelo.dao;



import br.com.ws.modelo.CategoriaCliente;
import java.util.List;


/*
 * Esta entidade tem como objetivo realizar as transaÃ§Ãµes com a base de dados
 */
public class DAOCategoriaCliente extends DAOGenerico<CategoriaCliente,Integer> {

    public DAOCategoriaCliente(){
        super();

    }
    public DAOCategoriaCliente(String nomeClasse){
        super(nomeClasse);
    }
    public DAOCategoriaCliente(Class<CategoriaCliente> classe){
        super(classe);

    }

    public List<CategoriaCliente> consultarPorNome(String nome){
        List<CategoriaCliente> categorias;
        categorias = em.createNamedQuery("CategoriaCliente.consultaNome").setParameter("nome","%"+nome+"%").getResultList();


        return categorias;
    }
    public List<CategoriaCliente> consultarPorDescricao(String descricao){
        List<CategoriaCliente> categorias;
        categorias = em.createNamedQuery("CategoriaCliente.consultaDescricao").setParameter("descricao","%"+descricao+"%").getResultList();


        return categorias;
    }
    public List<CategoriaCliente> consultarPorNomeDescricao(String nome, String descricao){
        List<CategoriaCliente> categorias;
        categorias = em.createNamedQuery("CategoriaCliente.consultaNomeDescricao").setParameter("nome","%"+nome+"%").setParameter("descricao","%"+descricao+"%").getResultList();


        return categorias;
    }

    @Override
    public boolean excluir(CategoriaCliente objeto) {
        try{
            em.getTransaction().begin();
            em.remove(objeto);
            em.getTransaction().commit();

        }catch(Exception ex){
            System.out.println("Erro ao remover objeto: "+ex);
            return false;


        }finally{
            em.close();
        }

        return true;
    }



}
